<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 * 
 */
require_once "FactoryConnection.php";

class PagSeguroTransacoesDAO {
    //put your code here
    var $conect;
	
    function __construct(){
	$this->conect = FactoryConnection::getConexao();	
    }
    public function existe($transaoId){
        /*$query2="SELECT cpf FROM ceape_clientes WHERE cpf =:cpf";
        $stmt=$this->conect->prepare($query2);
        $stmt->bindValue(':cpf', $cpf,PDO::PARAM_STR);*/
        $query = "SELECT TransacaoId FROM ceape_pagsegurotransacoes WHERE TransacaoId = '".$transaoId."'";
        $resultado = $this->conect->query($query);
        if($resultado!=NULL){
              if($resultado->rowCount()){
                     return true;
              }
        }
        return false;
    }

    public function salvar($transacao){

        $query = "INSERT INTO
                 ceape_pagsegurotransacoes(ValorFrete,VendedorEmail, TransacaoId, Referencia, Extras, TipoFrete, Anotacao, DataTransacao, TipoPagamento, StatusTransacao, CliNome, CliEmail, CliEndereco, CliNumero, CliComplemento, CliBairro, CliCidade, CliEstado, CliCEP, CliTelefone, NumItens, Data, Status)
                VALUES(
                        '".$transacao->getValorFrete()."',
                        '".$transacao->getVendedorEmail()."',
						'".$transacao->getTransacaoId()."',
						'".$transacao->getReferencia()."',
						'".$transacao->getExtras()."',
						'".$transacao->getTipoFrete()."',
						'".$transacao->getAnotacao()."',
						'".$transacao->getDataTransacao()."',
						'".$transacao->getTipoPagamento()."',
						'".$transacao->getStatusTransacao()."',
						'".$transacao->getCliNome()."',
						'".$transacao->getCliEmail()."',
						'".$transacao->getCliEndereco()."',
						'".$transacao->getCliNumero()."',
						'".$transacao->getCliComplemento()."',
						'".$transacao->getCliBairro()."',
						'".$transacao->getCliCidade()."',
						'".$transacao->getCliEstado()."',
						'".$transacao->getCliCEP()."',
						'".$transacao->getCliTelefone()."',
						'".$transacao->getNumItens()."',
						'now()',
						'".$transacao->getStatus()."'
                );";


        try{
            $this->conect->beginTransaction();
            $sucesso = $this->conect->exec($query);
            $this->conect->commit();
        } catch (PDOException $ex){
            $this->conect->rollBack();
        }

        return $sucesso;

    }

    public function getIdTransacao($TransacaoId){
        $query="SELECT * FROM ceape_pagsegurotransacoes WHERE TransacaoId='".$TransacaoId."'";
        $resultado = $this->conect->query($query);
         if($resultado!=NULL){
		if($resultado->rowCount()){
                    $transacao= new PagSeguroTransacoes();
                    $resu= $resultado->fetchObject();
                    $transacao->setValorFrete($resu->ValorFrete);
                    $transacao->setVendedorEmail($resu->VendedorEmail);
                    $transacao->setTransacaoId($resu->TransacaoId);
                    $transacao->setReferencia($resu->Referencia);
                    $transacao->setExtras($resu->Extras);
                    $transacao->setTipoFrete($resu->TipoFrete);
                    $transacao->setAnotacao($resu->Anotacao);
                    $transacao->setDataTransacao($resu->DataTransacao);
                    $transacao->setTipoPagamento($resu->TipoPagamento);
                    $transacao->setStatusTransacao($resu->StatusTransacao);
                    $transacao->setCliNome($resu->CliNome);
                    $transacao->setCliEmail($resu->CliEmail);
                    $transacao->setCliEndereco($resu->CliEndereco);
                    $transacao->setCliNumero($resu->CliEndereco);
                    $transacao->setCliComplemento($resu->CliComplemento);
                    $transacao->setCliBairro($resu->CliBairro);
                    $transacao->setCliCidade($resu->CliCidade);
                    $transacao->setCliEstado($resu->CliEstado);
                    $transacao->setCliCEP($resu->CliCEP);
                    $transacao->setCliTelefone($resu->CliTelefone);
                    $transacao->setNumItens($resu->NumItens);
                    $transacao->setData($resu->Data);
                    $transacao->setStatus($resu->Status);
                    return $transacao;
                }
         }

        return NULL;
    }

    public function atualizarStatusTransacao($transacao){
        $query="UPDATE ceape_pagsegurotransacoes SET StatusTransacao='".$transacao->getStatusTransacao()."' WHERE TransacaoId = '".$transacao->getTransacaoId()."'";
        $resu=0;
        try{
            $this->conect->beginTransaction();
            $resu = $this->conect->exec($query);
            $this->conect->commit();
        } catch (PDOException $ex){
            $this->conect->rollBack();
        }
        return $resu;
    }
}
?>